/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package sv.com.intesal.seguridad.controlador;

import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
import sv.com.intesal.clases.abstracts.ControladorAbstract;
import sv.com.intesal.seguridad.bean.TipoAccionFormulario;
import sv.com.intesal.seguridad.sql.SQLTipoAccionFormulario;

/**
 *
 * @author ejerez
 */
public class TipoAccionFormularioControlador extends ControladorAbstract {

    public void insert(TipoAccionFormulario ta) throws Exception {
        try {
            super.setPreparedStatement(SQLTipoAccionFormulario.insert);
            super.ps.setString(1, ta.getNombre_taf());
            super.ps.setString(2, ta.getDescripcion_taf());
            super.ps.setInt(3, ta.getOrden_taf());
            super.ps.setString(4, super.v.getEstado(ta.getEstado_filtro_taf()));
            super.ps.executeUpdate();
        } catch (Exception e) {
            throw new Exception(e);
        } finally {
            super.setCloseConexion();
        }
    }

    public void update(TipoAccionFormulario ta) throws Exception {
        try {
            super.setPreparedStatement(SQLTipoAccionFormulario.update);
            super.ps.setString(1, ta.getNombre_taf());
            super.ps.setString(2, ta.getDescripcion_taf());
            super.ps.setInt(3, ta.getOrden_taf());
            super.ps.setString(4, super.v.getEstado(ta.getEstado_filtro_taf()));
            super.ps.setInt(5, ta.getCodigo_taf());
            super.ps.executeUpdate();
        } catch (Exception e) {
            throw new Exception(e);
        } finally {
            super.setCloseConexion();
        }
    }

    public List<TipoAccionFormulario> getTipoAccionFormularios() throws Exception {
        List<TipoAccionFormulario> lista = new ArrayList<TipoAccionFormulario>();
        try {
            this.getExecuteQuery(SQLTipoAccionFormulario.getTipoAccionFormularios);
            while (super.rs.next()) {
                lista.add(this.getTipoAccionFormulario(super.rs));
            }
            return lista;
        } catch (Exception e) {
            throw new Exception(e);
        } finally {
            super.setCloseConexion();
        }
    }

    public List<TipoAccionFormulario> getTipoAccionFormulariosActivos() throws Exception {
        List<TipoAccionFormulario> lista = new ArrayList<TipoAccionFormulario>();
        try {
            this.getExecuteQuery(SQLTipoAccionFormulario.getTipoAccionFormularioActivos);
            while (super.rs.next()) {
                lista.add(this.getTipoAccionFormulario(super.rs));
            }
            return lista;
        } catch (Exception e) {
            throw new Exception(e);
        } finally {
            super.setCloseConexion();
        }
    }

    private TipoAccionFormulario getTipoAccionFormulario(ResultSet rs) throws Exception {
        try {
            TipoAccionFormulario ta = new TipoAccionFormulario();
            ta.setCodigo_taf(rs.getInt("codigo_taf"));
            ta.setNombre_taf(rs.getString("nombre_taf"));
            ta.setDescripcion_taf(rs.getString("descripcion_taf"));
            ta.setOrden_taf(rs.getInt("orden_taf"));
            ta.setEstado_taf(rs.getString("estado_taf"));
            ta.setEstado_filtro_taf(v.getEstado(rs.getString("estado_taf")));
            return ta;
        } catch (Exception e) {
            throw new Exception(e);
        }
    }
}
